Implementations of programming languages often represent polymorphic objects (or classes) with virtual tables. A virtual table, or vtable, is a table of pointers to functions or methods of a class. A programming system (for example, a compiler) creates a vtable for each class that contains virtual functions. When an object is created from a class, a pointer to the vtable is included as a hidden member of the object. During execution of a program, an object's vtable pointer (a reference to a location in memory where a corresponding vtable is stored) may become corrupted, either by implementation failures, buffer overruns, malicious attacks, or the like. Corruption of the vtable pointer can lead to deviations from the intended program execution with possibly disastrous results.